package com.zkt.practice.server.service;

import com.zkt.practice.api.common.PageResult;
import com.zkt.practice.api.req.GetPracticeSubjectsReq;
import com.zkt.practice.api.req.GetUnCompletePracticeReq;
import com.zkt.practice.api.vo.*;
import com.zkt.practice.server.entity.dto.PracticeSetDTO;
import com.zkt.practice.server.entity.dto.PracticeSubjectDTO;

import java.util.List;

/**
 * @author 赵开泰
 * @program jc-club
 * @date 2025/3/23
 * @description 练习套卷service层
 **/
public interface PracticeSetService {
	
	/**
	 * 获取专项练习内容
	 */
	List<SpecialPracticeVO> getSpecialPracticeContent();
	
	/**
	 * 开始练习
	 */
	PracticeSetVO addPractice(PracticeSubjectDTO dto);
	
	/**
	 * 获取练习题
	 */
	PracticeSubjectListVO getSubjects(GetPracticeSubjectsReq req);
	
	/**
	 * 获取题目
	 */
	PracticeSubjectVO getPracticeSubject(PracticeSubjectDTO dto);
	
	/**
	 * 获取模拟套题内容
	 */
	PageResult<PracticeSetVO> getPreSetContent(PracticeSetDTO dto);
	
	/**
	 * 获取未完成练习内容
	 */
	PageResult<UnCompletePracticeSetVO> getUnCompletePractice(GetUnCompletePracticeReq req);
	
}
